package panelGetter;

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Q extends JFrame {
    private static JTextArea jTextArea;
    private JButton jButton1;
    private JButton jButton2;
    private JButton jButton3;

    public Q() {
        GridBagLayout gridbag = new GridBagLayout();
        this.setLayout(gridbag);
        
        JScrollPane scroll = new JScrollPane(getJtextArea(), JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        
        gridbag.setConstraints(scroll, new GridBagConstraints(0, 0, 3, 2, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                new Insets(100, 100, 100, 100), 0, 0));
        
        gridbag.setConstraints(getJButton1(), new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, GridBagConstraints.SOUTH,
                GridBagConstraints.HORIZONTAL, new Insets(30, 200, 100, 100), 0, 0));
        
        gridbag.setConstraints(getJButton2(), new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.SOUTH,
                GridBagConstraints.HORIZONTAL, new Insets(30, 100, 100, 100), 0, 0));
        gridbag.setConstraints(getJButton3(), new GridBagConstraints(2, 2, 1, 1, 1.0, 0.0, GridBagConstraints.SOUTH,
                GridBagConstraints.HORIZONTAL, new Insets(30, 100, 100, 200), 0, 0));
        this.add(scroll);
        this.add(getJButton1());
        this.add(getJButton2());
        this.add(getJButton3());
        
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int screenWidth = (int) screenSize.getWidth();
        int screenHight = (int) screenSize.getHeight();
        this.setSize(screenWidth, screenHight);
        this.setVisible(true);
    }

    private JTextArea getJtextArea() {
        if (jTextArea == null) {
            jTextArea = new JTextArea();
            jTextArea.setLineWrap(true);
        }
        return jTextArea;
    }

    private JButton getJButton1() {
        if (jButton1 == null) {
            jButton1 = new JButton("jButton1");
        }
        return jButton1;
    }

    private JButton getJButton2() {
        if (jButton2 == null) {
            jButton2 = new JButton("jButton2");
        }
        return jButton2;
    }

    private JButton getJButton3() {
        if (jButton3 == null) {
            jButton3 = new JButton("jButton3");
        }
        return jButton3;
    }

    public static void main(String args[]) {
        new Q();
    }
}
